package com.ruoyi.modules.mapper;


import com.ruoyi.modules.domain.Contract;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 签约合同表 数据层
 *
 * @author tlgen
 */
public interface ContractMapper {
    /**
     * 根据条件分页查询签约合同
     *
     * @param contract 签约合同信息
     * @return 签约合同集合信息
     */
    public List<Contract> selectContractList(Contract contract);

    /**
     * 根据借款人姓名查询签约合同
     *
     * @param firstName
     * @return 签约合同集合信息
     */
    public List<Contract> selectContractByName(@Param("firstName") String firstName);

    /**
     * 根据签约合同ID查询信息
     *
     * @param contractId 签约合同ID
     * @return 签约合同
     */
    public Contract selectContractById(Long contractId);

    /**
     * 根据用户名查询数据库中最新的一条记录
     * @return
     */
    public Contract selectNewCreateByFirstName(@Param("firstName") String firstName);

    /**
     * 查询签约合同
     *
     * @param userName 借款人姓名
     * @return 签约合同
     */
    public int countContractByName(String userName);

    /**
     * 通过字典ID删除签约合同信息
     *
     * @param contractId 签约合同ID
     * @return 结果
     */
    public int deleteContractById(Long contractId);

    /**
     * 批量删除签约合同信息
     *
     * @param contractIds 需要删除的签约合同ID
     * @return 结果
     */
    public int deleteContractByIds(Long[] contractIds);

    /**
     * 新增签约合同信息
     *
     * @param contract 签约合同信息
     * @return 结果
     */
    public int insertContract(Contract contract);

    /**
     * 修改签约合同信息
     *
     * @param contract 签约合同信息
     * @return 结果
     */
    public int updateContract(Contract contract);

}

